"),o.close();var l=i.mapValues(c.SandboxedFunctions,(function(e){return n[e]}));u.dispatch(r.SANDBOXED_FUNCTIONS_ADDED,{sandboxedFunctions:l}),t.parentNode.removeChild(t)}catch(e){d.warn("Unable to create a sandbox: ",e)}}}),(function(e,t,n){var i=n(2),r=n(23),a=n(94),o=n(16),s=o.get("stores/plugins"),c=n(7),u=n(25),d=n(9),l=!1,f=[n(107),n(108),n(128)],_=["clientMetadata","cookieDomain","disable","load","optOut","rum"];t.push=function(e,t){var n,a,o,s;if(!i.isArray(e)&&i.isObject(e))s=i.isUndefined(e.version)?1:e.version,n=e.type,o=[e];else if(i.isArray(e))s=0,n=e[0],o=e.slice(1);else{if(!i.isString(e))return r.warn("API / Ignoring non-array/object/string argument:",e),!1;s=0,n=e,o=[]}if(f[s]&&(a=f[s][n]),t&&_.indexOf(n)===-1)return r.debug("API / Ignoring non high priority function:",n,o),!1;if(!a)return r.warn('API / No function found for "'+n+'" (v'+s+") with arguments:",o),!1;r.log('API / Executing: "'+n,'" with arguments:',o);try{a.apply(null,o),d.dispatch(c.RECORD_API_USAGE,{methodName:s?"v"+s+"."+n:n})}catch(e){r.error(e)}return!0},t.get=function(e){if(l&&"state"!==e)return void r.warn('Module "'+e+'" not found.');r.log('API / Getting module: "'+e+'"');var t=a[e];return t?i.isArray(t)&&(t=o.evaluate(t)):t=s.getPlugin(u.PluginTypes.apiModules,e),t?(d.dispatch(c.RECORD_API_USAGE,{methodName:"get."+e}),t):void r.warn('Module "'+e+'" not found.')}}),(function(e,t,n){function i(e,t,n,i){var r=e.getLayerState(i),a=t.get(i),s=n.get();if(!r||!a)return s?{layer:{name:s.layerName,id:s.layerId,policy:s.layerPolicy,integrationStringVersion:s.integrationStringVersion},experiment:{name:s.experimentName,id:s.experimentId},variation:{name:s.variationName,id:s.variationId},isLayerHoldback:!1}:null;if(d.isSingleExperimentPolicy(a.policy)&&r.decision.isLayerHoldback)return null;var c=r.decision.experimentId,u=r.decision.variationId;if(!c||!u)return null;var l,f;return(l=o.find(a.experiments,{id:c}))?(f=o.find(l.variations,{id:u}),f?{layer:{name:a.name,id:a.id,policy:a.policy,integrationStringVersion:a.integrationStringVersion},experiment:{name:l.name,id:l.id},variation:{name:f.name,id:f.id},isLayerHoldback:r.decision.isLayerHoldback}:null):null}function r(e,t,n,i,r,s){var c=[],u=e.getLayerStates();s.onlySingleExperiments&&(u=o.filter(u,(function(e){var n=t.get(e.layerId);return n&&d.isSingleExperimentPolicy(n.policy)})));var f=o.map(u,(function(e){var t=!!e.decision.variationId,n=e.decisionActivationId&&e.decisionActivationId===i.getActivationId(),r=l.getExperimentAndVariation(),a=r?r.variationId:null,s=t&&e.decision.variationId===a;return o.extend(e,{isActive:t&&n||s,visitorRedirected:s})})),_=r?o.filter(f,r):f;return o.each(_,(function(e){var i=a(e,t,n,s.includeOfferConsistency);i&&c.push(i)})),c}function a(e,t,n,i){var r,a,s=e.layerId,c=t.get(s)||{},u=o.map(c.experiments,(function(e){return o.pick(e,["id","name"])}));if(i||!c.decisionMetadata||!c.decisionMetadata.offerConsistency){
var d={id:s,campaignName:c.name||null,experiment:null,allExperiments:u,variation:null,reason:e.decision.reason,isActive:!!e.isActive,visitorRedirected:e.visitorRedirected,isInCampaignHoldback:e.decision.isLayerHoldback};e.decision&&e.decision.experimentId&&(r=o.find(c.experiments,{id:e.decision.experimentId})),r&&(d.experiment=o.pick(r,["id","name","campaignName"])),r&&e.decision.variationId&&(a=o.find(r.variations,{id:e.decision.variationId})),a&&(d.variation=o.pick(a,["id","name"]));var l=o.map(e.decisionTicket.audienceIds,(function(e){return o.pick(n.get(e),["id","name"])}));return d.audiences=l,c.decisionMetadata&&c.decisionMetadata.offerConsistency&&(d.pageId=e.pageId),d}}var o=n(2),s=n(95),c=n(96),u=n(98),d=n(44),l=n(99);t.data=["stores/audience_data","stores/client_metadata","stores/event_data","stores/layer_data","stores/view_data","stores/group_data","stores/interest_group","stores/tag_group","stores/global",function(e,t,n,i,r,a,s,d,l){var f={},_={},g={},p={audiences:e.getAudiencesMap(),events:n.getEventsMap(),campaigns:f,pages:r.getPagesMap(),experiments:_,variations:g,projectId:l.getProjectId(),snippetId:l.getSnippetId(),accountId:l.getAccountId(),dcpServiceId:l.getDCPServiceId(),revision:l.getRevision(),clientName:t.getClientName(),clientVersion:t.getClientVersion()},h=u.dereferenceChangeId;return o.each(i.getAll(),(function(e){c.defineProperty(f,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"changes",(function(){return o.map(e.changes,h)}),"campaign"),c.defineProperty(t,"experiments",(function(){return o.map(e.experiments,(function(e){return _[e.id]}))}),"campaign"),t}),"campaignMap","byId"),o.each(e.experiments,(function(e){c.defineProperty(_,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"changes",(function(){return o.map(e.changes,h)}),"experiment"),c.defineProperty(t,"variations",(function(){return o.map(e.variations,(function(e){return g[e.id]}))}),"experiment"),t}),"experimentMap","byId"),o.each(e.variations,(function(e){c.defineProperty(g,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"actions",(function(){return o.map(e.actions,(function(e){return o.extend({},e,{changes:o.map(e.changes,h)})}))}),"variation"),t}),"variationMap","byId")}))}))})),p.groups=a.getGroupsMap(),p}],t.visitor=["stores/visitor",function(e){return o.cloneDeep(e.getVisitorProfile())}],t.visitor_id=["stores/visitor_id",function(e){return{randomId:e.getRandomId()}}],t.state=["stores/audience_data","stores/layer_data","stores/layer","stores/view_data","stores/view","stores/global","stores/observed_redirect",function(e,t,n,a,c,u,f){return{getCampaignStates:function(i){var a={},s=r(n,t,e,u,i,{includeOfferConsistency:!1});return o.each(s,(function(e){a[e.id]=e})),a},getExperimentStates:function(i){var a=r(n,t,e,u,i,{includeOfferConsistency:!1,onlySingleExperiments:!0}),s=["audiences","variation","reason","visitorRedirected","isActive"],c=o.reduce(a,(function(e,t){var n=t.allExperiments[0];return e[n.id]=o.extend({},o.pick(t,s),{id:n.id,experimentName:n.name,isInExperimentHoldback:t.isInCampaignHoldback}),e}),{});return c},getCampaignStateLists:function(i){var a={},s=r(n,t,e,u,i,{includeOfferConsistency:!0});return o.each(s,(function(e){var t=e.id;a[t]||(a[t]=[]),a[t].push(e)})),a},getPageStates:function(e){var t=c.getAll(),n=o.reduce(t,(function(e,t){var n=a.get(t.id);return e[t.id]=o.extend({},o.pick(n,["id","name","apiName","category","staticConditions","tags"]),o.pick(t,["isActive","metadata"])),e[t.id].isActive=!!e[t.id].isActive,e}),{});return e?o.pickBy(n,e):n},isGlobalHoldback:function(){return u.isGlobalHoldback()},getActivationId:function(){return u.getActivationId()},getVariationMap:function(){var e=n.getLayerStates(),i={};return o.each(e,(function(e){var n=t.get(e.layerId);if(e.decision&&e.decision.experimentId&&(i[e.decision.experimentId]={id:e.decision.variationId,name:null,index:null},n)){var r=o.find(n.experiments,{id:e.decision.experimentId});if(r&&e.decision.variationId)var a=o.find(r.variations,{id:e.decision.variationId}),s=o.findIndex(r.variations,{id:e.decision.variationId});a&&(i[e.decision.experimentId]={id:e.decision.variationId,name:a.name,index:s})}})),i},getActiveExperimentIds:function(){var e={};return o.each(this.getCampaignStateLists({isActive:!0}),(function(t){o.each(t,(function(t){e[t.experiment.id]=!0}))})),o.keys(e)},getRedirectInfo:function(){var e=l.getExperimentAndVariation();return e&&(e.referrer=l.getReferrer()),e},getDecisionString:function(e){if(!e)throw new Error("Must pass a config to getDecisionString");e=o.extend({maxLength:255,shouldCleanString:!1},e);var r=i(n,t,f,e.campaignId);return r?s.generateAnalyticsString(r.layer,r.experiment,r.variation,r.isLayerHoldback,e.maxLength,e.shouldCleanString):null},getDecisionObject:function(e){if(!e)throw new Error("Must pass a config to getDecisionObject");e=o.extend({maxLength:255,shouldCleanString:!1},e);var r=i(n,t,f,e.campaignId);if(!r)return null;var a=s.formatNamesAndIdsForAnalytics(r.layer,r.experiment,r.variation,e.shouldCleanString),c=o.mapValues(a.names,(function(t,n){return s.combineAndTruncateIdAndName(t,a.idStrings[n],e.maxLength)})),u={experiment:c.experiment,variation:c.variation};return d.isSingleExperimentPolicy(r.layer.policy)||o.extend(u,{campaign:c.layer,holdback:r.isLayerHoldback}),u}}}],t.utils=n(100).create(),t.jquery=["env/jquery",function(e){return e}],t.event_emitter=n(106)}),(function(e,t,n){function i(e){return e.replace(/[^a-zA-Z0-9\.\~\!\*\(\)\']+/g,"_")}function r(e){return!c.isEmpty(e)&&c.includes(["and","or","not"],e[0])}function a(e,t){var n="";return c.isEmpty(t)?n=l:(n=c.reduce(t,(function(t,n){var r=e.get(n);return r?t+i(r.name?r.name:r.id)+",":t}),""),n=n.slice(0,-1)),n}function o(e,n,i,r,a,o){if(!h.isSingleExperimentPolicy(e.policy)||!r){var s=!h.isSingleExperimentPolicy(e.policy)&&r,u=t.formatNamesAndIdsForAnalytics(e,n,i,o),l=[u.names.experiment,u.names.variation],_=[u.idStrings.experiment,u.idStrings.variation];h.isSingleExperimentPolicy(e.policy)||(l.unshift(u.names.layer),_.unshift(u.idStrings.layer));var g=c.reduce(_,(function(e,t){return e+t.length}),0),p=l.length-1+(s?1:0),v=p*d.length,E=g+v;if(s&&(E+=f.length),E>a)throw new Error("The analytics string size is too low to send the entity IDs.");for(var m=a-E,I=l.length,y=[],S=l.length-1;S>=0;S--){var A=l[S],T=Math.min(A.length,Math.floor(m/I));m-=T,I--,y.unshift(A.substring(0,T))}var D=c.map(y,(function(e,t){return e+_[t]}));return s&&D.push(f),D.join(d)}}function s(e,n,i,r,a,o){var s=r?f:_,u=3*d.length,l=t.formatNamesAndIdsForAnalytics(e,n,i,o),g=l.names,p=l.idStrings,v=c.reduce(p,(function(e,t){return e+t.length}),0);if(v+u+s.length>a)throw new Error("The analytics string size is too low to send the campaign, experiment, and variation IDs.");var E=a-v-u-s.length,m={};m.variation=Math.min(g.variation.length,Math.floor(E/3)),E-=m.variation,m.experiment=Math.min(g.experiment.length,Math.floor(E/2)),E-=m.experiment,m.layer=E;var I={};c.each(g,(function(e,t){I[t]=e.substring(0,m[t])}));var y=[];return h.isSingleExperimentPolicy(e.policy)||y.push(I.layer+p.layer),y=y.concat([I.experiment+p.experiment,I.variation+p.variation,s]),y.join(d)}var c=n(2),u=n(16),d=":",l="everyone_else",f="holdback",_="treatment",g="",p=n(23),h=n(44);t.formatNamesAndIdsForAnalytics=function(e,t,n,o){var s={layer:e.name||g,experiment:t.name||g,variation:n.name||g};if(o&&(s=c.mapValues(s,i)),s.experiment===g&&(!e.integrationStringVersion||1===e.integrationStringVersion))if(r(t.audienceIds))s.experiment="Exp";else{var d=u.get("stores/audience_data");s.experiment=a(d,t.audienceIds)}var l={layer:"("+i(e.id)+")",experiment:"("+i(t.id)+")",variation:"("+i(n.id)+")"};return{names:s,idStrings:l}},t.combineAndTruncateIdAndName=function(e,t,n){var i=n-t.length;if(i<0&&(p.warn("maxLength must be at least long enough to fit the entity ID, which is length"+t.length+". Defaulting to only use entity ID as name."),e=g),e===g)return t;if(e.length>i){var r=Math.min(e.length,i);return e=e.substring(0,r),e+t}return e+" "+t},t.generateAnalyticsString=function(e,t,n,i,r,a){return e.integrationStringVersion&&2===e.integrationStringVersion?o(e,t,n,i,r,a):s(e,t,n,i,r,a)}}),(function(e,t,n){var i=n(97),r=n(7),a=n(9),o=n(23);t.defineProperty=function(e,t,n,s,c){i(e,t,(function(){var e=["prop",s,c||t].join(".");return o.debug('Evaluating getter: "'+e+'"'),a.dispatch(r.RECORD_API_USAGE,{methodName:e}),n()}),!0)}}),(function(e,t){"use strict";function n(e,t,n,i){Object.defineProperty(e,t,{get:function(){var e=n.call(this);return Object.defineProperty(this,t,{value:e,enumerable:!!i,writable:!0}),e},set:function(e){return Object.defineProperty(this,t,{value:e,enumerable:!!i,writable:!0}),e},enumerable:!!i,configurable:!0})}e.exports=n}),(function(e,t,n){function i(e){var n=r.cloneDeep(e);return n.changes&&(n.changes=r.map(n.changes,t.dereferenceChangeId)),n.experiments&&r.each(n.experiments,(function(e){e.changes&&(e.changes=r.map(e.changes,t.dereferenceChangeId)),e.variations&&r.each(e.variations,(function(e){e.actions&&r.each(e.actions,(function(e){e.changes&&(e.changes=r.map(e.changes,t.dereferenceChangeId))}))}))})),n}var r=n(2),a=n(16),o=n(22),s=n(96),c=a.get("stores/change_data");t.translateDecisionToCampaignDecision=function(e){return u(r.cloneDeep(e),{layerId:"campaignId",isLayerHoldback:"isCampaignHoldback"})},t.translateLayerEventToCampaignEvent=function(e){var t={};return s.defineProperty(t,"campaign",(function(){var t=i(e.data.layer);return t}),"campaignEvent"),t.decisionTicket=e.data.decisionTicket,t.decision=this.translateDecisionToCampaignDecision(e.data.decision),t.audiences=e.data.audiences,{type:"lifecycle",name:"campaignDecided",data:t}},t.translateViewActivatedToPageActivated=function(e){return{type:"lifecycle",name:"pageActivated",data:{page:e.data.view}}},t.dereferenceChangeId=function(e){var t=c.getChange(e);return t?o.safeReference(t):e};var u=function(e,t){var n=r.omit(e,r.keys(t));return r.each(t,(function(t,i){n[t]=e[i]})),n}}),(function(e,t,n){var i=n(2),r=n(16),a=r.get("stores/observed_redirect");t.getReferrer=function(){var e=a.get();return e?e.referrer:null},t.getExperimentAndVariation=function(){var e=a.get();return e&&i.isString(e.variationId)?i.pick(e,["experimentId","variationId"]):null}}),(function(e,t,n){var i=n(12).Promise,r=n(101).observeSelector,a=n(102).poll,o=n(104).waitForElement,s=n(105).waitUntil;t.create=function(){return{observeSelector:r,poll:a,Promise:i,waitForElement:o,waitUntil:s}}}),(function(e,t,n){function i(){if(f.shouldObserveChangesIndefinitely()){var e={attributes:!0,childList:!0,subtree:!0,characterData:!0},t=_.getDocumentElement(),n=new MutationObserver(function(){this.disconnect(),d.each(d.keys(E),a),this.observe(t,e)});return function(i){var r=E[i];n.observe(t,e),r.cancelObservation=function(){delete E[i],d.isEmpty(E)&&n.disconnect()}}}return function(e){var t=p.poll(d.partial(a,e));E[e].cancelObservation=function(){t(),delete E[e]}}}function r(e){var t=E[e];t&&t.cancelObservation&&t.cancelObservation()}function a(e){if(E[e]){if(o(E[e]))return 0===E[e].matchedCount&&d.isFunction(E[e].options.onTimeout)&&E[e].options.onTimeout(),void r(e);var t=document.querySelectorAll(E[e].selector);t.length&&(d.each(t,(function(t){t.en&&t.en[e]||E[e].callbackQueue.push(t)})),s(e))}}function o(e){var t=e.options.timeout;if(null!==t)if("function"==typeof t)try{return t()}catch(e){}else if(Date.now()-e.startTime>t)return!0;return!1}function s(e){for(;E[e]&&E[e].callbackQueue.length;){var t=E[e].callbackQueue.shift();if(c(t,e),E[e].matchedCount=E[e].matchedCount+1,E[e].callback(t),E[e]&&E[e].options.once)return void r(e)}}function c(e,t){e.en||(e.en={}),e.en[t]=!0}function u(e){try{document.querySelector(e)}catch(e){return!1}return!0}var d=n(2),l=(n(7),n(16)),f=l.get("stores/directive"),_=n(80),g=(n(25),n(9),n(5).generate),p=n(102),h=n(40),v=(l.get("stores/rum"),{once:!1,onTimeout:null,timeout:null}),E={},m=function(e){(m=i())(e)};t.observeSelector=function(e,t,n){if(!u(e))throw new Error("observeSelector expects a valid css selector as its first argument");if(!d.isFunction(t))throw new Error("observeSelector expects a function as its second argument");if(n&&(!d.isObject(n)||d.isFunction(n)))throw new Error("observeSelector expects an object as its third argument");var i=g();return n=d.assign({},v,n||{}),E[i]={callback:t,callbackQueue:[],matchedCount:0,options:n,selector:e,startTime:Date.now()},m(i),h.setTimeout(d.bind(a,null,i),0),d.partial(r,i)}}),(function(e,t,n){function i(e){d[e]&&a.each(d[e].callbacks,(function(e){e.call(null)}))}function r(e,t){d[t]&&d[t].callbacks[e]&&(delete d[t].callbacks[e],a.some(d[t].callbacks)||(clearInterval(d[t].id),delete d[t]))}var a=n(2),o=(n(7),n(16)),s=(n(25),n(9),n(5).generate),c=n(40),u=n(103).DEFAULT_INTERVAL,d=(o.get("stores/rum"),{});t.poll=function(e,t){a.isNumber(t)||(t=u),d[t]||(d[t]={callbacks:{},id:c.setInterval(a.partial(i,t),t)});var n=s();return d[t].callbacks[n]=e,a.partial(r,n,t)},t.cancelAll=function(){a.each(d,(function(e,t){clearInterval(e.id),delete d[t]}))}}),(function(e,t){e.exports={DEFAULT_INTERVAL:20}}),(function(e,t,n){var i=n(12).Promise,r=n(101).observeSelector;t.waitForElement=function(e){return new i(function(t,n){r(e,t,{once:!0})})}}),(function(e,t,n){var i=n(12).Promise,r=n(102).poll;t.waitUntil=function(e){return new i(function(t,n){if(e())return void t();var i=r((function(){e()&&(i(),t())}))})}}),(function(e,t,n){var i=n(87);t.on=function(e){return e.publicOnly=!0,i.on(e)},t.off=i.off,t.emit=function(e){i.emit(e)}}),(function(e,t,n){function i(e){var t,n={};if(e)if(r(e))t=Number(e);else{if("object"!=typeof e)throw new Error("tracker","Revenue argument",e,"not a number.");if(n=a.extend({},e),"revenue"in n){if(!r(n["revenue"]))throw new Error("tracker","Revenue value",n["revenue"],"not a number.");t=Number(n["revenue"]),delete n["revenue"]}}return a.isUndefined(t)||(n.revenue=t),n}function r(e){return a.isNumber(e)||a.isString(e)&&Number(e)==e}var a=n(2),o=n(108);t.activateGeoDelayedExperiments=function(e,t){t||(t=e.lists?"odds":"cdn3"),o.dataFromSource({data:e,source:t})},t.activateSiteCatalyst=function(e){e&&e.sVariable&&o.integrationSettings({id:"adobe_analytics",settings:{sVariableReference:e.sVariable}})},t.bucketUser=t.bucketVisitor=function(e,t){if(e&&t){var n={experimentId:String(e)};t>256?n.variationId=String(t):n.variationIndex=String(t),o.bucketVisitor(n)}},t.disable=function(e){o.disable({scope:e})},t.log=function(e){a.isUndefined(e)&&(e=!0),o.log({level:e?"INFO":"OFF"})},t.optOut=function(e){a.isUndefined(e)&&(e=!0),o.optOut({isOptOut:e})},t.setCookieDomain=function(e){o.cookieDomain({cookieDomain:e})},t.setCookieExpiration=function(e){o.cookieExpiration({cookieExpirationDays:e})},t.setDimensionValue=function(e,t){var n={};n[e]=t,o.user({attributes:n})},t.setUserId=function(e){o.user({userId:e})},t.storeThirdPartyData=function(e,t){o.dataFromSource({source:e,data:t})},t.trackEvent=function(e,t){o.event({eventName:e,tags:i(t)})}}),(function(e,t,n){function i(e){var t;return e.eventId&&(t=I.create(e.eventId,e.eventName,"custom")),C.updateAllViewTags(),function(){var n=_.trackCustomEvent(e.eventName,e.tags,t);n?D.log("API / Tracking custom event:",e.eventName,e.tags):D.log("API / Not tracking custom event:",e.eventName)}}function r(e){var t;return e.eventData&&(t=I.create(e.eventData.id,e.eventData.apiName,"click",e.eventData)),function(){var e=_.trackClickEvent(t);e?D.log("API / Tracking click event:",e):D.log("API / Not tracking click event:",e)}}function a(e){var t=e.eventData,n=T.createLayerState(t.layerId,t.experimentId,t.variationId,t.isLayerHoldback),i=T.createSingle(t.layerId,t.experimentId,t.variationId);return function(){T.recordLayerDecision(n.layerId,n.decisionTicket,n.decision),D.log("API / Tracking decision event:",n),_.trackDecisionEvent(n.decision,n.decisionTicket,i)}}function o(e){var t=C.create(e.eventData.id,e.eventData.apiName),n=C.createState(t.id);return function(){var e=_.trackViewActivation(t,n);e?D.log("API / Tracking pageview event:",e):D.log("API / Not tracking pageview event:",e)}}var s=n(2),c=n(7),u=n(93),d=n(94),l=n(109),f=n(25),_=n(110),g=n(117),p=n(6),h=n(76).create,v=n(24),E=n(118),m=n(120),I=n(121),y=n(87),S=n(9),A=n(26),T=n(113),D=n(23),R=n(122),O=n(114),C=n(123),b=n(74),w=n(16),N=w.get("stores/dimension_data"),P=w.get("stores/view"),L=w.get("stores/view_data"),V=w.get("stores/visitor_id"),k=w.get("stores/layer_data"),F=w.get("stores/directive"),x=!1,M=!1,U=x||M,G=86400,B=90,z=t.ApiListenerError=h("ApiListenerError");t.event=function(e){var t;switch(e.eventType){case"click":t=r(e);break;case"decision":t=a(e);break;case"pageview":t=o(e);break;case"custom":default:t=i(e)}V.getBucketingId()?t():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postActivate,cleanupFn:t})},t.clientMetadata=function(e){U&&(S.dispatch(c.SET_CLIENT_NAME,e.clientName),S.dispatch(c.SET_CLIENT_VERSION,e.clientVersion)),x&&e.forceVariationIds&&S.dispatch(c.LOAD_DIRECTIVE,{forceVariationIds:e.forceVariationIds})},t.priorRedirectString=function(e){U&&O.load(e.value)},t.microsnippetError=function(e){if(U){var t=e.errorData.metadata&&e.errorData.metadata.err||{};t.name=e.errorData.code;var n={engine:e.engine,msVersion:e.errorData.msVersion,requestId:e.errorData.requestId,projectId:e.errorData.projectId,snippetKey:e.errorData.snippetKey,args:e.errorData.args};m.handleError(t,n)}},t.rum=function(e){S.dispatch(c.SET_RUM_DATA,e.eventData)},t.initialViewStates=function(e){var t=s.map(e.states,(function(e,t){return{id:t,isActive:e}}));C.registerViews(t)},t.page=function(e){var t=L.getByApiName(e.pageName);if(!t)throw new Error('Unknown page "'+e.pageName+'"');var n=!e.hasOwnProperty("isActive")||e.isActive,i=function(){n?C.activateViaAPI(t,e.tags):(C.deactivate(t),D.log("API / Deactivated Page",C.description(t)))};V.getBucketingId()?i():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postViewsActivated,cleanupFn:i})},t.tags=function(e){C.setGlobalTags(e.tags)},t.user=function(e){U&&e.visitorId&&(V.getBucketingId()?(D.log("API / Setting visitor Id:",e.visitorId),b.setId({randomId:e.visitorId})):(D.log("API / Setting visitor Id for activation:",e.visitorId),S.dispatch(c.SET_VISITOR_ID_VIA_API,e.visitorId))),x&&s.each(["IP","location","queryParams","url"],(function(t){e[t]&&(D.log("API / Setting",t,":",e[t]),j(t,e[t],!1))})),D.log("API / Setting visitor custom attributes:",e.attributes),s.each(e.attributes,(function(e,t){var n,i,r=t,a=N.getById(t)||N.getByApiName(t);a&&(r=a.id,n=a.apiName,i=a.segmentId||a.id);var o={id:i,value:e};n&&(o.name=n),j(r,o,!0)}))};var j=function(e,t,n){var i=[{key:n?["custom",e]:[e],value:t,metadata:{lastModified:v.now()}}],r=function(){S.dispatch(c.SET_VISITOR_ATTRIBUTES,{attributes:i})};V.getBucketingId()?r():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postVisitorProfileLoad,cleanupFn:r})};t.optOut=function(e){var t=!e.hasOwnProperty("isOptOut")||e.isOptOut;E.setOptOut(t)},t.cookieExpiration=function(e){var t=e.cookieExpirationDays;t');var s=i.querySelector("#"+o);if(!s)throw new Error("Document.write failed to append script");s.onload=n,s.onerror=function(i){r.warn("Failed to load script ("+e+") synchronously:",i),t.addScriptAsync(e,n)}}catch(i){r.debug("Document.write failed for "+e+": "+i.message);var c=function(e){var t=new Function(e.responseText);t(),n&&n()};return a.request({url:e,async:!1,contentType:"text/plain",success:c})["catch"]((function(i){r.error("Failed to load "+e+" via synchronous XHR: "+i.message),t.addScriptAsync(e,n)}))}}}),(function(e,t,n){function i(){var e=null;D.isNumber(e)&&0===ge.getCount()?(X.log("Activating after delay of",e,"ms because no Experiments are running"),K.dispatch(b.SET_RUM_DATA,{data:{activateDfd:!0}}),oe.setTimeout(N.emitActivateEvent,e)):N.emitActivateEvent()}function r(e){Re.handleError(e.data.error,e.data.metadata)}function a(){D.isArray(window.optimizely)&&(window.optimizely=D.filter(window.optimizely,(function(e){var t=!0;return!De.push(e,t)})))}function o(){var e=n(85),i=!!ae.getCurrentId(),r=!!i&&ae.hasSomeData();i?r?X.log("xd / Existing visitor; has data on this origin"):X.log("xd / Existing visitor; new to this origin"):X.log("xd / New visitor");var a=fe.getAccountId(),o="https://a19205964212.cdn.optimizely.com".replace("__SUBDOMAIN__","a"+a+"."),c="/client_storage/a"+a+".html";e.subscribe((function(e,t){ae.checkKeyForVisitorId(e)&&q.setItem(e,t)}));var u=e.fetchAll().then((function(t){if(Se.getVisitorIdLocator())ae.removeVisitorId();else{var n=Te.getCanonicalOrigins();if(n){var i=e.getXDomainUserId(t,n);i&&(X.log("Syncing cross-origin visitor randomId:",i),ae.maybePersistVisitorId({randomId:i}))}}return ae.deleteOldForeignData(),t})).then(t.persistItemsWithId).then((function(e){if(ae.loadForeignData(),i&&!r){var t=!D.isEmpty(e);X.debug("xd / Loaded foreign data? ",t),s(t)}X.log("Loaded visitor data from foreign origins"),N.emitOriginsSyncedEvent()}),(function(e){throw i&&!r&&(X.debug("xd / Failed to load foreign data:",e),s(!1,e)),e}));return Z.all([e.load(o,c)["catch"]((function(e){throw X.debug("xd / Failed to load iframe:",e),i&&!r&&s(!1,e),e})),u["catch"]((function(e){X.debug("xd / Ignored error syncing foreign data (expected if waitForOriginSync used):",e.message),X.debug("xd / Enqueuing sync to happen after visitorId set."),K.dispatch(b.ADD_CLEANUP_FN,{lifecycle:G.Lifecycle.postVisitorProfileLoad,cleanupFn:N.emitOriginsSyncedEvent})}))])}function s(e,t){K.dispatch(b.SET_RUM_DATA,{data:{extras:{xdAttempt:e,xdError:t?t.toString():void 0}}})}function c(e){var t=me.getVisitorProfile();return ae.populateEagerVisitorData(e,t)}function u(e,t,n){e=e||[];var i=ve.getAllPlugins(G.PluginTypes.visitorProfileProviders),r=fe.getGlobalHoldbackThreshold(),a=me.getVisitorProfile();ae.populateLazyVisitorData(i,a);var o=Se.getBucketingId();if(!o)throw new Error("bucketingId not set");var s,c=me.getVisitorProfile();if(t&&!we){var u=Ae.getVariationIdMap();s=u[t.id]}var d={bucketingId:o,visitorProfile:c,audiences:e,globalHoldback:r,preferredVariationMap:s,layer:t};return t&&n&&F.isPageIdRelevant(t)?D.map(n,(function(e){return F.createTicket(D.extend({},d,{pageId:e}))})):[F.createTicket(d)]}function d(e){return{bucketingId:Se.getBucketingId(),preferredLayerId:Ae.getPreferredLayerMap()[e.id]}}function l(e){var n=ge.getAllByPageIds(e),i=le.getForceVariationIds(),r=le.getForceAudienceIds(),a=!D.isEmpty(i);a&&X.log("Force variations are in use. Disabling mutual exclusivity.");var o=a?{individual:n}:D.reduce(n,(function(e,t){return t.groupId?e.groups[t.groupId]||(e.groups[t.groupId]=_e.get(t.groupId)):e.individual.push(t),e}),{groups:{},individual:[]});X.log("Deciding Campaigns/Experiments for Page(s)",e);var s=D.map(o.groups,H.description).join(", ");X.log("Groups:",s);var c=D.map(o.individual,Y.description).join(", ");X.log("Campaigns/Experiments not in Groups (by Campaign id):",c);var u=D.map(o.groups,D.partial(f,i,r,e))||[],d=D.map(o.individual,(function(n){var a=D.filter(n.pageIds,D.partial(D.includes,e));return t.decideAndExecuteLayerASAP(i,r,a,n)})),l=u.concat(d);return Z.all(l).then((function(t){var n=D.filter(t,(function(e){return!!e}));return X.log("All Campaigns/Experiments for Page(s) (by Campaign id)",e,"resolved:",D.map(n,Y.description).join(", ")),n}))}function f(e,n,i,r){try{var a=d(r),o=F.decideGroup(r,a);if(o.reason)return X.debug("Not activating Group",H.description(r),"; reason:",o.reason),Ee.getSampleRum()&&K.dispatch(b.RECORD_LAYER_FEATURE_USAGE,{feature:"mutex",entityId:r.id}),Z.resolve();var s=ge.get(o.layerId);if(!s)return X.debug("Visitor was bucketed into a Campaign ("+o.layerId+") which is not in this snippet"),Z.resolve();var c=D.filter(s.pageIds,D.partial(D.includes,i));return D.isEmpty(c)?(X.debug("Not activating Group",H.description(r),"; reason: visitor was bucketed into a Campaign/Experiment not related to the currently-activating Page(s)"),Z.resolve()):(Ee.getSampleRum()&&K.dispatch(b.RECORD_LAYER_FEATURE_USAGE,{feature:"mutex",entityId:r.id}),t.decideAndExecuteLayerASAP(e,n,c,s))}catch(e){return X.error("Error getting decision for Group",H.description(r),"; ",e),Z.reject(e)}}function _(e,t,n,i){return new Z(function(r,a){try{h(i,e,t,n,(function(a){D.each(a,(function(r){var a=r.pageId?[r.pageId]:n;X.debug("Deciding layer: ",i,"with decisionTicket: ",r,"and actionViewIds: ",a),g(i,e,t,a,r)})),r(i)}))}catch(e){X.error("Error getting decision for Campaign: "+Y.description(i),e),a(e)}})}function g(e,n,i,r,a){var o=Y.description(e);X.log("Activating Campaign",o,"on Page(s)",r),i.length&&(X.log("Applying force audienceIds:",i,"to Campaign",o),a=D.cloneDeep(a),a.audienceIds=i);var s=t.decideLayer(e,a,n),c=!(!n.length&&!i.length),u=t.getActionsForDecision(e,s,c);T(u.actions,r);if(X.warn("Not preparing actions because LIVE_CHANGES is false"),D.forEach(r,(function(){w.trackDecisionEvent(s,a)})),N.emitLayerDecided({layer:e,decisionTicket:a,decision:s}),s.error)throw s.error;if(Ee.getSampleRum()){K.dispatch(b.RECORD_LAYER_POLICY_USAGE,{policy:e.policy,layerId:e.id});var d=p(u.actions);K.dispatch(b.RECORD_CHANGE_TYPE_USAGE,{changeTypes:D.keys(d),layerId:e.id}),D.isEmpty(e.integrationSettings)||K.dispatch(b.RECORD_INTEGRATION_USAGE,{integrations:Y.getIntegrationTypes(e),layerId:e.id})}return F.isInCohort(s)?void X.warn("Not executing actions because LIVE_CHANGES is false"):void X.log("Not activating Campaign: "+Y.description(e)+"; not in the cohort because:",s.reason)}function p(e){var t={};return D.each(e,(function(e){D.each(e.changeSet,(function(e){t[e.type]||(t[e.type]=!0)}))})),t}function h(e,t,n,i,r){if(t.length||n.length)return void r(u([],void 0,i));var a=Y.relatedAudienceIds(e),o=D.reduce(a,(function(e,t){var n=ce.get(t);return n&&e.push(n),e}),[]),s=ve.getAllPlugins(G.PluginTypes.audienceMatchers);if(Ee.getSampleRum()){var c={};if(D.each(o,(function(e){D.extend(c,v(e.conditions,s))})),!D.isEmpty(c)){var d=D.keys(c);K.dispatch(b.RECORD_AUDIENCE_USAGE,{audienceTypes:d,layerId:e.id})}}I(o,s,Y.getActivationTimeout(e),(function(){var t=u(o,e,i);D.map(t,(function(t){E(t,o,e)})),r(t)}))}function v(e,t){var n={};return D.each(e,(function(e){D.isArray(e)?D.extend(n,v(e,t)):D.isObject(e)&&t[e.type]&&(n[e.type]=!0)})),n}function E(e,t,n){var i=D.map(e.audienceIds,D.bind(ce.get,ce)),r=D.filter(t,(function(t){return!D.includes(e.audienceIds,t.id)}));X.log("When deciding Campaign",Y.description(n),"visitor is in audiences:",m(i),"and not in audiences:",m(r))}function m(e){var t=[];return D.each(e,(function(e){t.push(e.name,e)})),t}function I(e,t,n,i){var r=D.reduce(e,(function(e,n){return D.extend(e,P.requiredAudienceFieldsForConditions(n.conditions,t))}),{}),a=D.reduce(r,(function(e,t){if(D.isUndefined(ae.getAttribute(t))){var n=ae.getPendingAttributeValue(t);D.isUndefined(n)||e.push(n)}return e}),[]);if(0===a.length)return i();var o=[].concat(e),s=ee.firstToResolve(D.map(a,(function(e){return Z.resolve(e).then((function(){var e=me.getVisitorProfile();if(o=D.filter(o,(function(n){return D.isUndefined(P.isInAudience(e,n,t))})),!D.isEmpty(o))throw new Error("At least one audience is still pending")}))})));Z.race([s,new Z(function(e,t){oe.setTimeout(t,n)})]).then((function(){X.log("Activating Campaign after pending Audiences resolved",e),i()}),(function(){X.log("Activating Campaign after timeout on Audiences",e),i()}))}function y(e,t,n){var i,r=Y.description(e);return i=n.length?F.getDummyLayerDecision(e,n):F.decideLayer(e,t),X.log("Recording decision for Campaign",r,t,"->",i),Y.recordLayerDecision(e.id,t,i),we||(i.variationId&&i.experimentId&&ae.updateVariationIdMap(e.id,i.experimentId,i.variationId),e.groupId&&ae.updatePreferredLayerMap(e.groupId,e.id)),i}function S(e){var t=de.getCleanupFns(e);if(t.length>0){for(;t.length>0;)t.shift()();K.dispatch(b.CLEAR_CLEANUP_FN,{lifecycle:e})}}function A(e,t,n){var i=Y.description(e),r="NOT applying changes for Campaign",a={
actions:[],maybeExecute:!1};return a.actions=[].concat(ue.getLayerActions(t.layerId)||[],ue.getExperimentActions(t.experimentId)||[],ue.getExperimentVariationActions(t.experimentId,t.variationId)||[]),!n&&fe.isGlobalHoldback()?(X.log(r,i,"(visitor is in global holdback)"),a):t.isLayerHoldback?(X.log(r,i,"(visitor is in layer holdback)"),a):t.experimentId&&t.variationId?(a.maybeExecute=!0,X.log("Got Actions for Campaign:",i,a.actions),a):(X.log(r,i,"(visitor is not eligible for any Experiments)"),a)}function T(e,t){return D.filter(e,(function(e){return D.isUndefined(e.pageId)||D.includes(t,e.pageId)}))}var D=n(2),R=n(76).create,O=t.ActivationCodeError=R("ActivationCodeError"),C=t.ProjectJSError=R("ProjectJSError"),b=(n(134),n(7)),w=n(110),N=n(117),P=n(138),L=n(86),V=n(109),k=n(24),F=n(139),x=n(16),M=n(118),U=n(80),G=n(25),B=n(87),z=n(111),j=n(144),K=n(9),H=n(143),Y=n(113),q=n(81).LocalStorage,X=n(23),W=n(145),Q=n(83),$=n(122),J=n(88),Z=n(12).Promise,ee=n(146),te=n(114),ne=n(116),ie=n(136),re=n(123),ae=n(74),oe=n(40),x=n(16),se=x.get("stores/session"),ce=x.get("stores/audience_data"),ue=x.get("stores/action_data"),de=x.get("stores/cleanup"),le=x.get("stores/directive"),fe=x.get("stores/global"),_e=x.get("stores/group_data"),ge=x.get("stores/layer_data"),pe=x.get("stores/layer"),he=x.get("stores/pending_events"),ve=x.get("stores/plugins"),Ee=x.get("stores/rum"),me=x.get("stores/visitor"),Ie=x.get("stores/view_data"),ye=x.get("stores/view"),Se=x.get("stores/visitor_id"),Ae=x.get("stores/visitor_bucketing"),Te=x.get("stores/xdomain"),De=n(93),Re=n(120),Oe=n(1),Ce=1e3,be=!1,we=!1,Ne=!1,Pe=we||Ne,Le=1e3,Ve=t;t.initialize=function(e){var n=e.clientData;if(V.normalizeClientData(e.clientData),B.on({filter:{type:"error"},handler:r}),K.dispatch(b.DATA_LOADED,{data:n}),X.log("Initialized with DATA:",n),a(),M.setOptOut(le.shouldOptOut()),le.isDisabled()||le.shouldOptOut())return void X.log("Controller / Is disabled");if(Oe.queueBeacons(),U.isReady()?K.dispatch(b.SET_DOMCONTENTLOADED):U.addReadyHandler((function(){K.dispatch(b.SET_DOMCONTENTLOADED)})),!Pe){Q.time("projectJS");var o=fe.getProjectJS();if(D.isFunction(o))try{j.apply(o)}catch(e){X.error("Error while executing projectJS: ",e),L.emitError(new C(e))}Q.timeEnd("projectJS")}D.each(e.plugins||[],(function(e){try{e($)}catch(e){L.emitInternalError(e)}})),D.each(fe.getPlugins()||[],(function(e){try{j.apply(e,[$])}catch(e){L.emitError(e)}})),te.load();var s=B.on({filter:{type:"lifecycle",name:"activated"},handler:function(){me.observe(ae.persistVisitorProfile),pe.observe(ae.persistLayerStates),se.observe(ae.persistSessionState),he.observe(W.persistPendingEvents),we||Ae.observe(ae.persistVisitorBucketingStore),B.off(s)}});B.on({filter:{type:"lifecycle",name:"viewsActivated"},handler:t.onViewsActivated}),B.on({filter:{type:"lifecycle",name:"pageDeactivated"},handler:t.onPageDeactivated}),t.initializeApi();var c=W.getPendingEvents();if(c&&(K.dispatch(b.LOAD_PENDING_EVENTS,{events:c}),W.retryPendingEvents(c)),B.on({filter:{type:"lifecycle",name:"activate"},handler:t.activate}),N.emitInitializedEvent(),!le.shouldActivate())return Z.resolve();var u=[];if(Te.isDisabled())i();else{var d=t.initializeXDomainStorage();u.push(d);var l=Boolean(Te.getCanonicalOrigins());if(l){var f=ne.makeTimeoutPromise(Le);Z.race([d,f])["catch"]((function(e){X.error("Failed to initialize xDomain storage: ",e)})).then(i)["catch"](Re.handleError)}else i()}return Z.all(u)},t.activate=function(){try{var e=[];X.log("Activated client"),S(G.Lifecycle.preActivate);var t=k.now();K.dispatch(b.ACTIVATE,{activationId:String(t),activationTimestamp:t});var n=Ie.getAll();re.registerViews(n),ae.setId(ae.getOrGenerateId()),e.push(w.trackPostRedirectDecisionEvent()),K.dispatch(b.MERGE_VARIATION_ID_MAP,{variationIdMap:ae.getVariationIdMap()}),K.dispatch(b.MERGE_PREFERRED_LAYER_MAP,{preferredLayerMap:ae.getPreferredLayerMap()}),S(G.Lifecycle.postVisitorProfileLoad),e.push(c(ve.getAllPlugins(G.PluginTypes.visitorProfileProviders)).then((function(){X.log("Populated visitor profile")})));var i=u(),r=F.decideGlobal(i);X.log("Made global decision",i,"->",r),K.dispatch(b.RECORD_GLOBAL_DECISION,r);var a=w.trackClientActivation();a?X.log("Tracked activation event",a):X.log("Not tracking activation event");var o=Ve.setUpViewActivation(n),s=[];return be?s=re.activateMultiple(o):D.each(o,(function(e){s=s.concat(re.activateMultiple([e]))})),we&&Ee.getSampleRum()&&K.dispatch(b.RECORD_VIEWS_INITIALLY_ACTIVATED_COUNT,{viewsInitiallyActivatedCount:s.length}),S(G.Lifecycle.postViewsActivated),S(G.Lifecycle.postActivate),N.emitActivatedEvent(),Z.all(e).then((function(){B.emit({type:z.TYPES.LIFECYCLE,name:"activateDeferredDone"}),X.log("All immediate effects of activation resolved")}),L.emitError)}catch(e){return L.emitError(e),Z.reject(e)}},Ve.setUpViewActivation=function(e){var t=[];return D.each(e,(function(e){D.isBoolean(ye.getViewState(e.id).isActive)&&re.isActivationTypeImmediate(e.activationType)?X.debug("Skipping page: already evaluated, presumably at the edge",re.description(e)):re.shouldTriggerImmediately(e.activationType)?t.push(e):e.activationType===G.ViewActivationTypes.callback?(X.debug("Setting up conditional activation for Page",re.description(e)),Ve.activateViewOnCallback(e)):e.activationType===G.ViewActivationTypes.polling?(X.debug("Setting up polling activation for Page",re.description(e)),J.pollFor(D.partial(j.apply,e.activationCode),null,D.partial(ie.isTimedOut,k.now())).then((function(){re.activateMultiple([e])}))["catch"]((function(t){X.warn("Failed to activate view ",e,t)}))):e.activationType!==G.ViewActivationTypes.manual&&L.emitError(new Error("Unknown view activationType: "+e.activationType))})),t},Ve.activateViewOnCallback=function(e){var t=function(t){var n=D.extend({},t,{pageName:e.apiName,type:"page"});De.push(n)},n={pageId:e.id};Object.defineProperty(n,"isActive",{get:function(){return ye.isViewActive(e.id)}});try{j.apply(e.activationCode,[t,n])}catch(t){var i=new O("("+t.toString()+") in activationCode for "+re.description(e));L.emitError(i,{originalError:t,userError:!0})}},t.onViewsActivated=function(e){var t,n=e.data.views,i=D.map(n,"id");try{if(!Se.getBucketingId())throw new Error("View activated with no visitorId set");var r=l(i)["catch"](L.emitError);return t=Z.all(D.map(n,(function(e){var t=function(){re.parseViewTags(e);var t=w.trackViewActivation(e);t?X.log("Tracked activation for Page",re.description(e),t):X.log("Not Tracking activation for Page",re.description(e))};return U.isReady()?Z.resolve(t()):J.pollFor(U.isReady,Ce).then(t)}))),Z.all([r,t])}catch(e){L.emitError(e)}},t.onPageDeactivated=function(e){var t=e.data.page,n=ue.getAllActionIdsByPageId(t.id);D.each(n,(function(e){var n=ue.getActionState(e);n&&(D.each(n,(function(e,n){if(e.cancel)try{e.cancel(),X.debug("Controller / Canceled change",n,"observation due to deactivation of page:",t)}catch(e){X.error("Controller / Error canceling change",n,"observation upon deactivation of page.",e)}if(t.undoOnDeactivation&&e.undo)try{e.undo(),X.debug("Controller / Undid change",n,"due to deactivation of page:",t)}catch(e){X.error("Controller / Error undoing change upon deactivation of page.",e)}})),K.dispatch(b.REMOVE_ACTION_STATE,{actionId:e}),X.debug("Controller / Undid changes and/or canceled change observation due to deactivation of page:",t,e))}))},t.initializeApi=function(){var e={push:De.push};Ne||(e.get=De.get);var t=window.optimizely;D.isArray(t)&&D.each(t,(function(t){e.push(t)})),e.data={note:"Obsolete, use optimizely.get('data') instead"},e.state={},window.optimizely=e},t.persistItemsWithId=function(e){return D.each(e,(function(e,t){ae.checkKeyForVisitorId(t)&&q.setItem(t,e)})),e},t.initializeXDomainStorage=o,t.decideAndExecuteLayerASAP=_,t.decideLayer=y,t.getActionsForDecision=A}),(function(e,t,n){function i(e,t,n){var i=v.getActionState(t.id);if(!i)return void _.warn("Action / Attempted to prepare change for inactive action: ",t);var r=v.getChangeApplier(e.id,t.id);if(!a.isUndefined(r))return void _.warn("Action / Attempted to prepare a change which is already being applied: ",e);var s={changeId:e.id,actionId:t.id,changeApplier:I.create(e,t,n)};f.dispatch(o.SET_CHANGE_APPLIER,s)}function r(e,t,n,o){if(a.includes(o,t))return void _.error("Change with id "+t+" has circular dependencies: "+o.concat(t));if(!e[t]){var u=E.getChange(t);if(!u){var l="Change with id "+t+" is absent";return o.length&&(l+=" but listed as a dependency for "+o[o.length-1]),void _.warn(l)}e[t]=new g(function(l){var f=a.map(u.dependencies||[],(function(i){return r(e,i,n,o.concat([t]))}));if(u.src){var h="change_"+u.src,m=c.makeAsyncRequest(h,(function(){return p.addScriptAsync("https://cdn.optimizely.com/public/19205964212/data"+u.src,(function(){c.resolveRequest(h)}))})).then((function(){var e=E.getChange(u.id);e||s.emitError(new S("Failed to load async change from src: "+u.src)),i(e,n,d.now())}));f.push(m)}g.all(f).then((function(){var e=d.now(),i=v.getChangeApplier(t,n.id);return i?(_.debug("Action / Applying change:",u),i.apply().then((function(t){t?_.log(t):_.debug("Action / Applied change for the first time in "+(d.now()-e)+"ms:",u),l()}))):(_.debug("Action / Not applying change ",t," - No changeApplier found."),void l())}))["catch"]((function(e){_.error("Action / Failed to apply change:",u,e),l()}))})}return e[t]}var a=n(2),o=n(7),s=n(86),c=n(6),u=n(76).create,d=n(24),l=n(16),f=n(9),_=n(23),g=n(12).Promise,p=n(132),h=l.get("stores/global"),v=l.get("stores/action_data"),E=l.get("stores/change_data"),m=l.get("stores/session"),I=n(135),y=n(136);y.initialize();var S=u("ActionError");t.prepareAction=function(e){_.debug("Action / Preparing:",e),f.dispatch(o.ACTION_EXECUTED,{actionId:e.id,sessionId:m.getSessionId(),layerId:e.layerId,pageId:e.pageId,timestamp:d.now(),activationId:h.getActivationId()});var t=d.now();a.forEach(e.changeSet,(function(n){var r=a.isObject(n)?n.id:n,s=E.getChange(r);s||(f.dispatch(o.ADD_CHANGE,n),s=E.getChange(n.id)),s.src||i(s,e,t)}))},t.executePreparedAction=function(e){_.debug("Action / Executing:",e);var t={},n=a.map(e.changeSet,(function(n){var i=a.isObject(n)?n.id:n;return r(t,i,e,[])}));return g.all(n).then((function(){_.debug("changes for action id="+e.id+" applied")}))}}),(function(e,t,n){var i=n(13).Promise,r=n(24),a=n(16),o=a.get("stores/plugins"),s=n(25),c=n(23);t.create=function(e,t,n){var a={identifier:e.id,action:t,startTime:n||r.now()};try{var u=o.getPlugin(s.PluginTypes.changeAppliers,e.type);if(!u)throw new Error("Unrecognized change type "+e.type);return new u(e,a)}catch(e){c.error("Change applier was never properly constructed:",e);var d={apply:function(){return i.reject(e)}};return d}}}),(function(e,t,n){function i(){"interactive"!==document.readyState&&"complete"!==document.readyState||(t.domReadyTime=Date.now())}var r=n(137),a=n(16).get("stores/directive");t.domReadyTime=null,t.initialize=function(){i(),document.addEventListener("readystatechange",i,!0)},t.isTimedOut=function(e){var n=Date.now();if(!t.domReadyTime||!e)return!1;var i=Math.max(e,t.domReadyTime);return a.isEditor()&&(i=t.domReadyTime),!(n-i-1)return{experimentId:e.experiments[n].id,variationId:e.experiments[n].variations[i].id};return null}function a(e){var t=y.getPlugin(p.PluginTypes.deciders,e);if(s.isEmpty(t))throw new Error("No deciders found for policy: "+e);return t}function o(e,t){var n=y.getAllPlugins(p.PluginTypes.audienceMatchers);return s.reduce(t,(function(t,i){return u.isInAudience(e,i,n)&&t.push(i.id),t}),[])}var s=n(2),c=n(86),u=n(138),d=n(140),l=n(141),f=n(142).DecisionError,_=n(7),g=n(16),p=n(25),h=n(9),v=n(143),E=n(113),m=n(23),I=n(44),y=g.get("stores/plugins"),S=g.get("stores/global"),A=g.get("stores/layer_data");t.isPageIdRelevant=function(e){if(!e)return!1;var t=a(e.policy);return s.isFunction(t.includePageIdInDecisionTicket)?t.includePageIdInDecisionTicket(e):t.includePageIdInDecisionTicket===!0},t.createTicket=function(e){var t=s.pick(e,["bucketingId","globalHoldback","preferredVariationMap","pageId"]);return s.extend(t,{audienceIds:o(e.visitorProfile,e.audiences),activationId:S.getActivationId()}),t},t.decideGlobal=function(e){var t=d.isHoldback(e.bucketingId,{id:null,holdback:e.globalHoldback});return{isGlobalHoldback:t}},t.decideGroup=i,t.decideLayer=function(e,t){m.debug("Deciding: ",e,t);var n,i,r=a(e.policy),o={layerId:e.id,experimentId:null,variationId:null,isLayerHoldback:d.isHoldback(t.bucketingId,e)};if(s.isEmpty(e.experiments))throw new f("No experiments in layer.");try{if(r.decideLayer){m.debug("Decision / Using decider's custom decideLayer.");var u=r.decideLayer(e,t);n=u.experiment,i=u.variation}else m.debug("Decision / Using default decideLayer behavior."),n=r.selectExperiment(e,t.audienceIds,t.bucketingId),i=l.selectVariation(n,t.audienceIds,t.bucketingId,t.activationId,t.preferredVariationMap)}catch(e){e instanceof f?o.reason=e.message:o.error=e}return o.experimentId=n?n.id:null,o.variationId=i?i.id:null,o.error&&(o.error.name="DecisionEngineError",c.emitError(o.error)),o},t.getDummyLayerDecision=function(e,t){var n,i=r(e,t);return i?(m.log("Decision / Applying force variation:",i.variationId,"to Campaign",E.description(e)),n={layerId:e.id,variationId:i.variationId,experimentId:i.experimentId,isLayerHoldback:!1,reason:"force"}):(m.log("No variation matches ids:",t,"in Campaign",E.description(e)),n={layerId:e.id,variationId:null,experimentId:null,isLayerHoldback:!1,reason:"force"}),n},t.isInCohort=function(e){if(!e.experimentId||!e.variationId)return!1;var t=A.get(e.layerId);return!(I.isSingleExperimentPolicy(t.policy)&&e.isLayerHoldback)}}),(function(e,t,n){var i=n(64),r=t.TOTAL_POINTS=1e4;t.bucketingNumber=function(e,t,n){var a=i.hashToInt(e+t,n,r);return a},t.isHoldback=function(e,n){return t.bucketingNumber(e,n.id,i.Seed.IGNORING)<(n.holdback||0)},t.chooseWeightedCandidate=function(e,n,r){for(var a=t.bucketingNumber(e,n,i.Seed.BUCKETING),o=0;oa)return r[o].entityId;throw new Error("Unable to choose candidate")}}),(function(e,t,n){var i=n(2),r=n(140),a=n(124),o=n(142).DecisionError,s=n(23),c=n(9),u=n(7),d="impression";t.isValidExperiment=function(e,t){var n,r=i.partial(i.includes,e);return s.groupCollapsed("Decision / Evaluating audiences for experiment:",t,e),n=!t.audienceIds||a.evaluate(t.audienceIds,r),s.groupEnd(),s.debug("Decision / Experiment",t,"is valid?",n),n},t.selectVariation=function(e,t,n,a,l){if(!e.variations||0===e.variations.length)throw new o('No variations in selected experiment "'+e.id+'"');if(!e.weightDistributions&&e.variations.length>1)throw new o('On selected experiment "'+e.id+'", weightDistributions must be defined if # variations > 1');var f;if(e.bucketingStrategy&&e.bucketingStrategy===d)if(1===e.variations.length)f=e.variations[0].id;else{var _=a;f=r.chooseWeightedCandidate(n+_,e.id,e.weightDistributions)}else if(f=1===e.variations.length?e.variations[0].id:r.chooseWeightedCandidate(n,e.id,e.weightDistributions),l&&l[e.id]){s.debug("Decision / Using preferredVariationMap to select variation for experiment:",e.id);var g=l[e.id];if(!i.find(e.variations,{id:g}))return c.dispatch(u.RECORD_STICKY_BUCKETING_FEATURE,{feature:"stoppedVariation",id:e.id}),s.debug("Decision / Preferred variation:",g,"not found on experiment:",e.id,". Visitor not bucketed."),null;g!==f&&(c.dispatch(u.RECORD_STICKY_BUCKETING_FEATURE,{feature:"preferredVariation",id:e.id}),f=g)}var p=i.find(e.variations,{id:f});if(p)return s.debug("Decision / Selected variation:",p),p;throw new o('Unable to find selected variation: "'+f+'".')},t.getExperimentById=function(e,t){var n=i.find(e.experiments,{id:t});if(n)return n;throw new o("Unable to find selected experiment.")},t.hasVariationActionsOnView=function(e,t){return s.debug("Decision / Checking variation:",e,"for actions on pageId:",t),!!i.find(e.actions,(function(e){return e.pageId===t&&!i.isEmpty(e.changes)}))}}),(function(e,t){function n(e){this.message=e}n.prototype=new Error,t.DecisionError=n}),(function(e,t,n){function i(e){return r.map(e.weightDistributions,"entityId")}var r=n(2);t.description=function(e){var t=!!e.name,n=t?'"'+e.name+'" ':"",r=i(e).join(", ");return n+"(id "+e.id+", campaigns: "+r+")"}}),(function(module,exports,__webpack_require__){var createError=__webpack_require__(77),di=__webpack_require__(16),Logger=__webpack_require__(23),CSP_MODE=!1,EXEC_WITH_JQUERY=!0,ExecError=exports.Error=createError("ExecError");exports.apply=function(e,t){t=t||[],EXEC_WITH_JQUERY&&(t=t.concat(di.get("env/jquery")));try{return e.apply(void 0,t)}catch(n){throw Logger.warn("Error applying function",e,"with args:",t,n),new ExecError(n)}},exports.eval=function(str){if(CSP_MODE)throw new ExecError("eval is not supported in CSP mode");try{return EXEC_WITH_JQUERY&&(str="var $ = optimizely.get('jquery');"+str),eval(str)}catch(e){throw Logger.warn("Error executing JS:",str,e),new ExecError(e)}}}),(function(e,t,n){var i=n(2),r=n(86),a=n(25),o=n(26),s=n(81).LocalStorage,c=n(23),u=n(91),d=n(16),l=d.get("stores/pending_events"),f=a.StorageKeys.PENDING_EVENTS;t.persistPendingEvents=function(){try{var e=l.getEventsString();s.setItem(f,e),n(85).setItem(f,e)}catch(e){c.warn("PendingEvents / Unable to set localStorage key, error was: ",e),r.emitInternalError(e)}},t.getPendingEvents=function(){try{return o.parse(s.getItem(f))}catch(e){return null}},t.retryPendingEvents=function(e){i.forOwn(e,(function(e,t){u.retryableRequest(e.data,t,e.retryCount)})),i.isEmpty(e)||c.log("Retried pending events: ",e)}}),(function(e,t,n){var i=n(2),r=n(12).Promise;t.firstToResolve=function(e){return new r(function(t){i.each(e,(function(e){r.resolve(e).then(t,(function(){}))}))})}}),(function(e,t,n){function i(e){var t=!1;if(a.isArray(window.optimizely)&&a.each(window.optimizely,(function(n){a.isArray(n)&&"verifyPreviewProject"===n[0]&&String(n[1])===e&&(t=!0)})),!t)throw new Error("Preview projectId: "+e+" does not match expected")}function r(){s.on({filter:{type:c.TYPES.ANALYTICS,name:"trackEvent"},handler:f}),s.on({filter:{type:c.TYPES.LIFECYCLE,name:"viewActivated"},handler:f}),s.on({filter:{type:c.TYPES.LIFECYCLE,name:"layerDecided"},handler:f}),s.on({filter:{type:"error"},publicOnly:!0,handler:f})}var a=n(2),o=n(16),s=n(87),c=n(111),u=n(40),d=o.get("stores/directive"),l="optimizelyPreview",f=function(e){var t=u.getGlobal(l);t.push(e)};t.initialize=function(e){d.isSlave()&&i(e),r()},t.setupPreviewGlobal=function(){u.getGlobal(l)||u.setGlobal(l,[])},t.pushToPreviewGlobal=function(e){f(e)}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(149))}}),(function(e,t){e.exports={provides:"visitorId",getter:["stores/visitor_id",function(e){return e.getRandomId()}]}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(151));var t=n(152);e.registerAudienceMatcher("custom_attribute",t),e.registerAudienceMatcher("custom_dimension",t)}}),(function(e,t,n){var i=n(2),r=n(25),a=n(23),o=n(16),s=o.get("stores/dimension_data");e.exports={provides:"custom",attributionType:r.AttributionTypes.LAST_TOUCH,restorer:function(e){return i.reduce(e,(function(e,t,n){var r=n,o=s.getByApiName(n),c=s.getById(n),u=c;return i.isObject(t)?(!t.id&&o&&(u=o,r=o.id,i.extend(t,{id:u.segmentId||u.id})),t.name||u&&u.apiName&&(t.name=u.apiName),t.id||u||a.warn("Unable to determine ID for custom attribute:",n,"; segmentation is disabled."),e[r]=t,e):(a.error('Unable to restore custom attribute "'+n+'" because value is not an object'),e)}),{})},shouldTrack:!0}}),(function(e,t,n){var i=n(2),r=n(20);t.match=function(e,t){var n;return e.custom&&(n=e.custom[t.name]),i.isObject(n)&&(n=n.value),r.hasMatch(t.value,t.match,n)}}),(function(e,t,n){function i(e){function t(e,t,n){try{c(t),e[n]=t}catch(e){N.emitError(new W("Bad value for eventTags["+n+"]: "+e.message))}return e}var n=w.keys(ne),i=w.omit(e,n),r=w.pick(e,n),a=w.reduce(i,t,{}),o=w.reduce(r,(function(e,n,i){var r=ne[i];r.excludeFeature||t(a,n,i);try{r.validate(n),e[i]=r.sanitize(n),a[i]=e[i]}catch(e){N.emitError(new W("Bad value for eventMetrics["+i+"]: "+e.message))}return e}),{});return o.tags=a,o}function r(e){var t=w.extend({entity_id:e.pageId,key:e.pageApiName,timestamp:e.timestamp,uuid:e.eventId,type:J},i(e.eventTags));return t}function a(e){return w.extend({entity_id:e.eventEntityId,key:e.eventApiName,timestamp:e.timestamp,uuid:e.eventId,type:e.eventCategory},i(e.eventTags))}function o(e){return w.extend({entity_id:e.eventEntityId,key:e.eventApiName,timestamp:e.timestamp,uuid:e.eventId,type:e.eventCategory},i(e.eventTags))}function s(e){return{entity_id:null,type:Q,uuid:e.eventId,timestamp:e.timestamp}}function c(e){if(null==e)throw new Error("Feature value is null");if("object"==typeof e){var t;try{t=F.stringify(e)}catch(e){}throw new Error('Feature value is complex: "'+t||'[object]"')}}function u(e){if(null==e)throw new Error("Metric value is null");if(!w.isNumber(e))throw new Error("Metric value is not numeric")}function d(e){return w.reduce(e,(function(e,t){try{c(t.value),e.push({entity_id:t.id||null,key:t.name,type:t.type,value:t.value})}catch(e){x.warn("Error evaluating user feature",t,e)}return e}),[])}function l(e,t,n){Y.dispatch(V.REGISTER_TRACKER_EVENT,{event:e,decisions:n}),f(t),O()}function f(e){var t=d(e);Y.dispatch(V.UPDATE_TRACKER_VISITOR_ATTRIBUTES,{attributes:t})}function _(e){var t=d(e.userFeatures),n={account_id:e.accountId,anonymize_ip:e.anonymizeIP,client_name:e.clientName,client_version:e.clientVersion,project_id:e.projectId,visitors:[{session_id:p(e.sessionId),visitor_id:e.visitorId,attributes:t,snapshots:[{decisions:[{campaign_id:e.layerId,experiment_id:e.experimentId,variation_id:e.variationId,is_campaign_holdback:e.isLayerHoldback}],events:[{uuid:e.decisionId,entity_id:e.layerId,timestamp:e.timestamp,type:$}]}]}]};Y.dispatch(V.REGISTER_PREVIOUS_BATCH,n),O()}function g(e){var t=w.isNull(q.getAnonymizeIP())?void 0:q.getAnonymizeIP(),n={account_id:e.accountId,anonymize_ip:t,client_name:e.clientName,client_version:e.clientVersion,project_id:e.projectId,visitors:[]};n.revision=e.revision,Z&&(n.enrich_decisions=!0);var i={session_id:p(e.sessionId),visitor_id:e.visitorId,attributes:[],snapshots:[]},r=C(e.layerStates);Y.dispatch(V.REGISTER_TRACKER_VISITOR,{data:n,visitor:i,decisions:r}),O()}function p(e){return oe?ae:e}function h(e){var t={entity_id:e.layerId,type:$,uuid:e.decisionId,timestamp:e.timestamp};Y.dispatch(V.REGISTER_TRACKER_DECISION,{decisionEvent:t,decisions:C(e.layerStates)}),f(e.userFeatures),O()}function v(){if(!X.canSend())return void x.debug("Not sending events (holding)");var e=X.hasEventsToSend(),t=X.hasPreviousBatchesToSend();return e||t?(t&&(w.each(X.getPreviousBatches(),E),Y.dispatch(V.RESET_TRACKER_PREVIOUS_BATCHES)),void(e&&(Y.dispatch(V.FINALIZE_BATCH_SNAPSHOT),E(X.getEventBatch()),Y.dispatch(V.RESET_TRACKER_EVENTS)))):void x.debug("Not sending events because there are no events to send")}function E(e){x.debug("Sending ticket:",e);var t=P.generate();B.retryableRequest({url:L,method:"POST",data:m(e)},t)}function m(e){var t=w.extend({},w.pick(e,["account_id","anonymize_ip","client_name","client_version","enrich_decisions","project_id","revision"]),{visitors:w.map(e.visitors,I)});return t}function I(e){return{visitor_id:e.visitor_id,session_id:ae,attributes:w.map(e.attributes,y),snapshots:w.map(e.snapshots,S)}}function y(e){return R(e,{entity_id:"e",key:"k",type:"t",value:"v"})}function S(e){var t=e.events;return t=A(t),{activationTimestamp:q.getActivationTimestamp(),decisions:w.map(e.decisions,T),events:w.map(t,D)}}function A(e){var t=w.reduce(e,(function(e,t){var n,i=t.type===J&&w.isEmpty(t.tags)&&w.isEmpty(w.pick(t,w.keys(ne)));if(n=i?t.type:t.uuid,e[n]){var r=e[n].timestamp;t.timestamp>r&&(r=t.timestamp),e[n]=w.extend({},e[n],{key:e[n].key+"-"+(t.key||""),entity_id:e[n].entity_id+"-"+t.entity_id,timestamp:r})}else e[n]=t;return e}),{});return w.values(t)}function T(e){return R(e,{campaign_id:"c",experiment_id:"x",is_campaign_holdback:"h",variation_id:"v"})}function D(e){return e.key===$&&(e.type=$,delete e.key),R(e,{entity_id:"e",key:"k",quantity:"q",revenue:"$",tags:"a",timestamp:"t",uuid:"u",value:"v",type:"y"})}function R(e,t){return w.reduce(e,(function(e,n,i){return i in t&&(e[t[i]||i]=n),e}),{})}function O(){function e(){var t=!ie||j.isLoaded();t&&v(),X.isPolling()&&G.setTimeout(e,te)}return X.shouldBatch()?void(X.isPolling()||(G.setTimeout(e,te),Y.dispatch(V.SET_TRACKER_POLLING,!0),G.setTimeout((function(){Y.dispatch(V.SET_TRACKER_BATCHING,!1),Y.dispatch(V.SET_TRACKER_POLLING,!1)}),ee))):void v()}function C(e){return w.map(e,(function(e){return{campaign_id:e.layerId,experiment_id:e.decision.experimentId,variation_id:e.decision.variationId,is_campaign_holdback:e.decision.isLayerHoldback}}))}function b(){var e=X.getPersistableState();if(e)try{x.debug("Persisting pending batch:",e),U.persistTrackerOptimizelyData(e),Y.dispatch(V.SET_TRACKER_DIRTY,!1)}catch(e){x.debug("Failed to persist pending batch:",e)}}var w=n(2),N=n(86),P=n(5),L="https://logx.optimizely.com/v1/events",V=n(7),k=n(76).create,F=n(26),x=n(23),M=n(115),U=n(74),G=n(40),B=n(91),z=n(16),j=n(80),K=n(87),H=n(111),Y=n(9),q=z.get("stores/global"),X=z.get("stores/tracker_optimizely"),W=t.Error=k("OptimizelyTrackerError"),Q="client_activation",$="campaign_activated",J="view_activated",Z=!1,ee=1e4,te=1e3,ne={revenue:{validate:u,sanitize:Math.floor,excludeFeature:!0},quantity:{validate:u,sanitize:Math.floor,excludeFeature:!0},value:{validate:u,sanitize:w.identity}},ie=!1,re=!1,ae="AUTO",oe=!0,se=function(e){e.timing===M.TrackLayerDecisionTimingFlags.postRedirectPolicy?_(e):h(e)},ce=[function(){return function(e){l(r(e),e.userFeatures,C(e.layerStates))}}],ue=[function(){return function(e){g(e),l(s(e),e.userFeatures,C(e.layerStates))}}],de=[function(){return function(e){l(o(e),e.userFeatures,C(e.layerStates))}}],le=[function(){return function(e){l(a(e),e.userFeatures,C(e.layerStates))}}],fe={trackLayerDecision:se,postRedirectPolicy:M.PostRedirectPolicies.TRACK_AFTER_SYNC,nonRedirectPolicy:M.NonRedirectPolicies.TRACK_IMMEDIATELY,onPageActivated:ce,onClientActivation:ue,onClickEvent:le,onCustomEvent:de};e.exports=function(e){e.registerAnalyticsTracker("optimizely",fe),K.on({filter:{type:H.TYPES.ANALYTICS,name:"sendEvents"},handler:function(){Y.dispatch(V.SET_TRACKER_SEND_EVENTS,!0),X.isPolling()||v()}}),K.on({filter:{type:H.TYPES.ANALYTICS,name:"holdEvents"},handler:function(){Y.dispatch(V.SET_TRACKER_SEND_EVENTS,!1)}}),Y.dispatch(V.SET_TRACKER_SEND_EVENTS,!re);var t=K.on({filter:{type:"lifecycle",name:"activated"},handler:function(){X.observe(b),K.off(t)}})}})]);The other tech giant - Wikipedia is 20, and its reputation has never been higher | International | The Economist